<?php

class Sistema {
//<editor-fold defaultstate="collapsed" desc="Constantes">
  const CODIGO_SQL_VALOR_DUPLICADO = "-100";
  const CODIGO_SQL_ERROR = "-200";
  const CODIGO_SQL_SIN_CONEXION = "-201";
  const CODIGO_SQL_SIN_SESION = "-500";
  const CODIGO_SQL_EXITO = "200";
  const CODIGO_SQL_SIN_DATOS = "404";
  const APLICAR = "Aplicar";
  const ACEPTAR = "Aceptar";
//</editor-fold>

//<editor-fold defaultstate="collapsed" desc="Metodos Compartidos">
  /**
   * escribe mensaje en un log de registros
   * @param string $mensaje
   * @param <type> $ambienteEjecucion
   * @param <type> $nivelVerbosidad
   * @author VSR, 01/01/2011
   */
  public static function escribirLog($mensaje, $ambienteEjecucion, $nivelVerbosidad) {
    try {
      $fechaHoy = Utilidades::obtenerFechaISO();
      $oLog = new KLogger ("[log]/log".$fechaHoy.".txt" , KLogger::DEBUG );
      $mensaje = "[".$ambienteEjecucion."] ".$mensaje;

      switch ($nivelVerbosidad) {
        case KLogger::INFO:
          $oLog->logInfo($mensaje);
          break;
        case KLogger::WARN:
          $oLog->logWarn($mensaje);
          break;
        case KLogger::DEBUG:
          $oLog->logDebug($mensaje);
          break;
        case KLogger::ERROR:
          $oLog->logError($mensaje);
          break;
        case KLogger::FATAL:
          $oLog->logFatal($mensaje);
          break;
        default:
          $oLog->logDebug($mensaje);
          break;
      }
    } catch (Exception $e) {
      //no hace nada;
    }
  }

  /**
   * obtiene datos para llenar un combo desde una tabla dada
   * @param <type> $tipoCombo
   * @param <type> $filtroId
   * @return string
   * @author VSR, 01/01/2011
   */
  public static function obtenerComboDesdeTabla($tipoCombo, $filtroId) {
    $arr = null;
    try {
      //define llamada procedimiento almacenado
      $sp = "CALL spu_Combo_".$tipoCombo."({filtroId});";

      //reemplaza marcas por valores reales
      $sp = str_replace("{filtroId}", $filtroId, $sp);

      //ejecuta procedimiento
      $arr = Bd::exec($sp);
    } catch (Exception $e) {
      $arr = null;
    }
    return $arr;
  }

  /**
   * obtiene datos para llenar un combo desde la tabla "TipoGeneral"
   * @param <type> $tipoCombo
   * @param <type> $filtroId
   * @return string
   * @author VSR, 01/01/2011
   */
  public static function obtenerComboDesdeTipoGeneral($tipoCombo, $filtroId) {
    $arr = null;
    try {
      //define llamada procedimiento almacenado
      $sp = "CALL spu_Combo_TipoGeneral('{tipoCombo}','{filtroId}');";

      //reemplaza marcas por valores reales
      $sp = str_replace("{tipoCombo}", $tipoCombo, $sp);
      $sp = str_replace("{filtroId}", $filtroId, $sp);

      //ejecuta procedimiento
      $arr = Bd::exec($sp);
    } catch (Exception $e) {
      $arr = null;
    }
    return $arr;
  }


//</editor-fold>
}

?>
